Multi-media techniques such as Voice over IP (VoIP) and Internet Protocol Television (IPTV) enable a large range of multi-media services. One type of multi-media service includes providing a synchronized shared experience for a plurality of users. Such synchronized multi-media services may be provided to a plurality of users, which are located at different locations. For example, a group of users may separately watch the same television channel and communicate with each other using text, audio and/or video (e.g., social TV). Other examples include timing-sensitive interactive experiences, such as a live auction, or a broadcasted television quiz program wherein viewers at home may input answers to broadcasted questions and participate in the show. Further, synchronized multi-media services may be provided to a plurality of different devices associated with one user. For example, a user may wish to watch the same television program on a handheld device in synchronization with a television at home, such that a user may switch from one device to another seamlessly back and forth.
In order to deliver content to different users, a content source may transmit streams via the network to a plurality of receivers for play-out. Due to, e.g., different end-to-end delays (due to different transmission delays, network delays and/or different content processing times at different receivers), a so-called Inter-Destination Media Synchronization (IDMS) or group synchronization system is used to keep the play-out of the streams by the different receivers in sync. Examples of known IDMS systems are described in ETSI TISPAN documents TS 182 027 and 183 063, an article by I. Vaishnavi et al. “From IPTV to shared experiences challenges in design: Distributed media synchronization” (Elsevier Signal Processing: Image Communication 26 (2011) pp. 370-377) and an article by F. Boronat et al. “Multimedia group and inter-stream synchronization techniques: A comparative study” (Elsevier Information Systems 34 (2009) 108-131).
An IDMS system typically comprises a synchronization client at the receiver and a synchronization server in the network wherein the synchronization client is configured to transmit timing information, e.g. one or more clock times indicating the time at which a particular packet in a stream was processed (e.g. received, decoded or played-out) by a receiver, to the synchronization server. On the basis of the timing information, the synchronization server is able to determine synchronization information, i.e. information for a receiver, or a synchronization client therein, to delay or advance play-out of a stream. The synchronization information is transmitted to the receivers so that inter-destination synchronization of the receivers may be achieved.
Conventional IDMS systems are typically described in the context of simple, well-defined content delivery systems, e.g. a single content source transmitting a single stream, which is multi-casted to a plurality of receivers using one streaming protocol, e.g. the RTP/RTCP protocol. In such system, a particular content part, i.e. (part of) an image frame and/or one or more audio samples, is transmitted to the receivers on the basis of RTP packets having the same RTP time stamp. So in such a system RTP packets received by different receivers, but with the same time stamp relate to the same content part (e.g. the same video frame). Therefore, timing differences associated with the processing of the same content part by different receivers can be relatively easily determined.
In many content delivery systems however, such information for a straightforward determination of such timing differences is not available. For example, content may be delivered to different receivers using different protocols (e.g. a multicast RTP stream and an HTTP adaptive steaming (HAS) protocol), different compression formats, codecs, etc. Moreover, when streaming content to receivers, the stream may be transcoded differently for different receivers or the content may be modified (by adding e.g. an advertisement to it), depending on the receiving end. Such modifications of one or more of the streams often leads to the disappearance of a common time line amongst the streams, which however formed the basis for the synchronization determinations by the conventional IDMS systems.
Further, content may be delivered by multiple sources. For example, a content delivery network (CDN) may use various different delivery nodes (media server) for delivering a media broadcast to a plurality of receivers. In such case, a first RTP stream delivered from a first delivery node will have a random initial RTP timestamp value (random RTP timestamp Offset), which differs from a random initial RTP timestamp value from a second RTP stream delivered from a second deliver node, although the content and the moment that the content is transmitted may be the same for both nodes. In such case RTP packets having the same RTP time stamp, but are transmitted by different delivery nodes, no longer correspond to the same content part of a content stream.
In all of the above cases, a conventional IDMS system is no longer able to determine the information required for synchronization of the play-out. Hence, there is a need in the art for an improved inter-destination media synchronization solution that alleviates at least one of the problems discussed above.